package com.simple.framework.core.action;

import com.simple.framework.core.entry.ActionContext;
import com.simple.framework.core.entry.ActionResult;

/**
 * 事件接口，流程可执行的最小单元
 * 
 * @author wujiangpo
 *
 */
public interface Action<R extends ActionResult, C extends ActionContext> {

	/**
	 * 事件要做的事情
	 * 
	 * @param context
	 * @return
	 */
	R process(C context);

	/**
	 * 事件名称
	 * 
	 * @return
	 */
	String bindActionName();

}
